package o2o.dao.VO.agent;


import lombok.Data;
import lombok.experimental.Accessors;

// 订单超时提醒设置
@Data
@Accessors(chain = true)
public class OrderOverTimeInfoVO {

    private Long id;
    private String sysAppKey;
    private Long agentId;   // 商圈id，   -1代表平台

    private Integer isAppointTime;          // 距离下单时间多久后，判定为预约单 单位分钟

    private Integer orderOverTime;          // 订单要求时长（支付后到确认送达要求的时间） 单位分钟
    private Double withPsKmInRang;          // 多少公里内
    private Integer fixedOrderPsTime;       // 固定配送时长 分钟
    private Integer outOneKmTime;           // 超出后每千米配送时长 单位分钟
    private Integer alertOrderTime;         // 订单即将超时提醒时间（支付-配送确认送达） 单位分钟

    private Integer shopNotSureTime;        // 要求店铺接单时长（分钟）[多长时间内接单]
    private Integer shopOverTime;           // 要求店铺时长（接单-骑手确认送达） 单位分钟
    private Integer shopReadyTime;          // 要求店铺备餐时长（接单-备货完成）
    private Integer alertShopReadyTime;     // 店铺备货未完成，提前多久提醒（接单-备货完成）
    private Integer alertShopTime;          // 骑手未送达，提前多久提醒店铺（接单-骑手确认送达） 单位分钟

    private Integer postmanOverTime;        // 要求骑手配送时长(骑手接单-确认送达） 单位分钟
    private Integer postmanAdvanceTime;     // 骑手提前多长时间送达，算提前送达
    private Integer notTakenOrderTime;      // 要求骑手取餐时长(骑手接单-确认取货)
    private Integer alertPostmanTime;       // 骑手即将超时提醒时间(骑手接单-确认送达) 单位分钟
    private Integer postmanBackOrderTime = 0;        // 骑手多长时间内可以退回订单 单位分钟

    private Integer isOpen;                  // 是否开启  1开启  0不开启

    // 预约单配置
    private Integer appointPostmanTime;     // 预约单，提前推送给骑手的时间
    private Integer appointShopTime;     // 预约单，提前推送给商家的时间（-1不等待直接推给商家）
    private Integer appointShopAlertTime;     // 预约单，提前多久再次提醒商家

    // 骑手转接单设置
    private Integer postmanCanChangeCountPreDay;     // 配送员每天可转单次数  -1不限制
    private Integer postmanMaxOrderNum;     // 骑手最多可接单数量 -1不受限制
    private Integer postmanCanGrabOrder;     // 配送员可抢订单数量 -1不限'

//    public Integer getNotTakenOrderTime() {
//        return notTakenOrderTime;
//    }
//
//    public void setNotTakenOrderTime(Integer notTakenOrderTime) {
//        this.notTakenOrderTime = notTakenOrderTime;
//    }
//
//    public Integer getPostmanAdvanceTime() {
//        return postmanAdvanceTime;
//    }
//
//    public void setPostmanAdvanceTime(Integer postmanAdvanceTime) {
//        this.postmanAdvanceTime = postmanAdvanceTime;
//    }
//
//    public Long getId() {
//        return id;
//    }
//
//    public OrderOverTimeInfoVO setId(Long id) {
//        this.id = id;
//        return this;
//    }
//
//    public String getSysAppKey() {
//        return sysAppKey;
//    }
//
//    public OrderOverTimeInfoVO setSysAppKey(String sysAppKey) {
//        this.sysAppKey = sysAppKey;
//        return this;
//    }
//
//    public Long getAgentId() {
//        return agentId;
//    }
//
//    public OrderOverTimeInfoVO setAgentId(Long agentId) {
//        this.agentId = agentId;
//        return this;
//    }
//
//    public Integer getPostmanOverTime() {
//        return postmanOverTime;
//    }
//
//    public OrderOverTimeInfoVO setPostmanOverTime(Integer postmanOverTime) {
//        this.postmanOverTime = postmanOverTime;
//        return this;
//    }
//
//    public Integer getShopOverTime() {
//        return shopOverTime;
//    }
//
//    public OrderOverTimeInfoVO setShopOverTime(Integer shopOverTime) {
//        this.shopOverTime = shopOverTime;
//        return this;
//    }
//
//    public Integer getOrderOverTime() {
//        return orderOverTime;
//    }
//
//    public OrderOverTimeInfoVO setOrderOverTime(Integer orderOverTime) {
//        this.orderOverTime = orderOverTime;
//        return this;
//    }
//
//    public Integer getAlertPostmanTime() {
//        return alertPostmanTime;
//    }
//
//    public OrderOverTimeInfoVO setAlertPostmanTime(Integer alertPostmanTime) {
//        this.alertPostmanTime = alertPostmanTime;
//        return this;
//    }
//
//    public Integer getAlertShopTime() {
//        return alertShopTime;
//    }
//
//    public OrderOverTimeInfoVO setAlertShopTime(Integer alertShopTime) {
//        this.alertShopTime = alertShopTime;
//        return this;
//    }
//
//    public Integer getAlertOrderTime() {
//        return alertOrderTime;
//    }
//
//    public OrderOverTimeInfoVO setAlertOrderTime(Integer alertOrderTime) {
//        this.alertOrderTime = alertOrderTime;
//        return this;
//    }
//
//    public Integer getIsOpen() {
//        return isOpen;
//    }
//
//    public OrderOverTimeInfoVO setIsOpen(Integer isOpen) {
//        this.isOpen = isOpen;
//        return this;
//    }
}
